home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / src / demos / audio / synthia / README < prev    next >
Encoding:
Text File  |  1994-08-02  |  5.4 KB  |  124 lines

  1.  
  2.                                 Synthia
  3.                                 -------
  4.  
  5.      To compile and install synthia, type:
  6.      
  7.           su
  8.           ./make install
  9.      
  10.     ---------------------------------------------------------------------
  11.      
  12.      Usage: synthia [options] <midifile>
  13.      Options:  -n          No graphics
  14.                -v #        Number of voices (default 6)
  15.                -t <list>   Play specific tracks only
  16.                -i <alist>  Assign instruments
  17.                -b #        Set beat time (default .5 seconds)
  18.      
  19.      Synthia is a midi synthesizer.  It plays the specified midi file,
  20.      using synthesized instrument sounds.  While it is playing the 
  21.      song, it illustrates the notes being played using a graphical 
  22.      keyboard display.  Synthia automatically searches the directory 
  23.      "files" (or the directory specified in the environment variable 
  24.      SYNTHIA_MIDI_PATH) for the midi file, so a full pathname is not 
  25.      required.
  26.      
  27.      The keyboard display includes a volume control slider and 
  28.      instrument select buttons.  The volume control affects the 
  29.      amplitude of the values sent by synthia to the audio output.  It
  30.      is distinct from the apanel volume control, which affects how 
  31.      these values are interpreted.
  32.      
  33.      The instrument buttons are an array of 16 buttons, one for each
  34.      instrument.  The instruments are numbered 0 - 15, with the front
  35.      left button corresponding to instrument 0, and the back right
  36.      button corresponding to instrument 15.
  37.      
  38.      Environment variables:
  39.      ----------------------
  40.      
  41.      Synthia respects the following environment variables:
  42.      
  43.        SYNTHIA_MIDI_PATH  - Directory which contains MIDI files
  44.        SYNTHIA_SOUND_PATH - Directory which contains synthia sound files
  45.                                (which are processed instrument samples)
  46.        SYNTHIA_IMAGE_PATH - Directory which contains images for
  47.                                texturing the keyboard
  48.      
  49.      Command line options:
  50.      ---------------------
  51.      
  52.      The -n option disables the graphical keyboard display.  This is
  53.      useful if you want to run synthia in the background, or from a
  54.      script, and continue to do useful work.  Synthia runs at a 
  55.      raised (non-degrading) priority, so that its sound shouldn't 
  56.      break up even if you are doing other compute intensive tasks.
  57.      
  58.      The -v option controls the number of voices.  Some songs require
  59.      more voices that the computer can generate in real time.  If 
  60.      this happens, then synthia falls behind in generating samples,
  61.      and cutouts occur in the output (it sounds like it is breaking 
  62.      up).  If this happens, you can reduce the number of voices using
  63.      this option, until synthia can successfully play the song.
  64.      
  65.      You can also use -v to increase the number of voices.  Whether
  66.      or not you have problems keeping up depends on the individual 
  67.      midi file.
  68.      
  69.      When the number of voices used in the midi file exceeds the 
  70.      number of voices that synthia has, the extra voices are just 
  71.      ignored.  For complex midi files with many voices, the result is
  72.      a small subset of the melody.  If you have access to more than
  73.      one machine, you can use the -t option to fix this problem.
  74.      
  75.      The -t option allows you to play a single track, or a set of
  76.      tracks.  You can use this to split up a midi file between 
  77.      several machines.  For example, machine 1 could play tracks 1-5,
  78.      and machine 2 could play tracks 6-10.  Synthia prints out 
  79.      information about the midi file when it is played, which 
  80.      includes the number of tracks in the file and the number of 
  81.      voices (fingers) on each track.
  82.      
  83.      A list for the -t options consists of a comma separated list of
  84.      tracks or track ranges.  Here are some legal track lists:
  85.      
  86.              -t 1
  87.              -t 3,7,4
  88.              -t 2-5
  89.              -t 0,2-5,7,10-15
  90.      
  91.      The track list must contain only commas, hyphens, and decimal
  92.      digits.  No spaces are allowed.
  93.      
  94.      The -i option allows you to assign individual instruments to
  95.      specific tracks.  Synthia supports a total of 16 instruments,
  96.      numbered 0-15.  The default assignment is that track 0 gets
  97.      instrument 0, track 1 gets instrument 1, etc.
  98.      
  99.      An assignment list for the -i option consists of a comma 
  100.      separated list of assignments, where each assignment assigns a
  101.      particular track to a particular instrument.  Here are some 
  102.      legal assignment lists:
  103.      
  104.              -i 1=0          # Assign track 1 to instrument 0
  105.              -i 2=3,4=3      # Assign tracks 2 and 4 to instrument 3
  106.      
  107.      The -b option controls the speed at which synthia plays.  The
  108.      default value is 0.5 seconds for one beat.  To slow down 
  109.      synthia, set a larger value.  For example, some of the fugues 
  110.      sound best played with a beat time of 0.75 seconds.
  111.      
  112.      
  113.      Synthia sound generation
  114.      ------------------------
  115.      
  116.      Synthia generates sounds using one of five waveforms and one of
  117.      three amplitude envelopes.  The waveforms are obtained from the
  118.      directory "sounds" (or the directory specified in the 
  119.      environment variable SYNTHIA_SOUND_PATH).  These five waveforms
  120.      are called 0.ssf, 1.ssf, 2.ssf, 3.ssf, and 4.ssf.  If they 
  121.      aren't present, synthia will substitute its own synthetic 
  122.      waveforms.
  123.      
  124.